<?php

class Application_Model_Abstract extends Zend_Db_Table_Abstract{
	protected $_schema = 'landing';
	protected $_name;
	protected $_primary;
	
	public function __construct($data = null) {
		$this->_setAdapter(Zend_Registry::get('db'));
		$this->populate($data);
	}
	
	/**
	 * Retorna o nome da tabela a qual o modelo pertence
	 * @return string
	 */
	public function getTable() {
		return $this->_name;
	}
	
/**
	 * Retorna o nome da chave primária do modelo
	 * @return string
	 */
	public function getPrimaryKey() {
		return $this->_primary;
	}
	
	/**
	 * Método para atribuir os valores passados ao modelo
	 * @param array $data
	 */
    public function populate($data) {
    	if (is_array($data)) {
	        foreach ($data as $key => $value) {
	            $setMethod = 'set' . ucwords($key);
	            if (method_exists($this, $setMethod)) {
	                $this->$setMethod($value);
	            }
	        }
        }
    }
}